Humans may engage in human-to-computer dialogs with interactive software applications referred to herein as “automated assistants” (also referred to as “chatbots,” “interactive personal assistants,” “intelligent personal assistants,” “personal voice assistants,” “conversational agents,” etc.). For example, humans (which when they interact with automated assistants may be referred to as “users”) may provide commands, queries, and/or requests (collectively referred to herein as “queries”) using spoken natural language input (i.e. utterances) which may in some cases be converted into text and then processed, and/or by providing textual (e.g., typed) natural language input.
In many cases, multiple users may communicate with each other by exchanging messages in message exchange threads (often referred to as “group chats”). Each user may incorporate messages into the message exchange thread by typing text or by providing spoken input (which may be converted to text prior to incorporation). Some message exchange threads may be formed from textual group chats where all or most of the participants provide textual input into, for example, a message exchange client. Other message exchange threads may be formed from oral conversations between multiple participants, e.g., as part of voice conferences and/or video conferences.
It is possible to invite or invoke automated assistants sometimes referred to as “bots” to join group chats. The bots—which in some cases may take the form of automated assistants configured for particular domains (sports, politics, science, news, weather, hobbies, interests, etc.)—may reactively and/or proactively incorporate various content into the thread, based on the content of the message exchange thread itself (i.e., the messages exchanged between the users) or based on publicly available information. However, the bots typically have, at most, access to the content of the message exchange thread (i.e., the messages exchanged between the users) and other publicly available information that may or may not be limited to their respective domains. This limits the type of content they are able to proactively incorporate into the group chat, particularly early on in the lifetime of the group chat when there may be limited conversational content from which to identify topics.
Some “general purpose” (“GP”) automated assistants may include GP automated assistant “clients” that are installed locally on client devices and that are interacted with directly by users, as well as cloud-based counterpart(s) that leverage the virtually limitless resources of the cloud to cooperate with automated assistant clients respond to users' requests. For example, the GP automated assistant client may provide, to the cloud-based counterpart(s), an audio recording of the user's voice input (or a text conversion thereof) and data indicative of the user's identity (e.g., credentials). The cloud-based counterpart may perform various processing on the input to return various results to the GP automated assistant client, which may then provide corresponding output to the user (or take some other action). For the sakes of brevity and simplicity, the term “GP automated assistant,” when described herein as “serving” a particular user, may refer to the GP automated assistant client installed on the particular user's client device and any cloud-based counterpart that interacts with the GP automated assistant client to respond to the user's queries. The more general term “automated assistant” may refer more generally to any software process that receives natural language input and provides natural language output in response, such as one of the aforementioned domain-specific bots and/or a GP automated assistant.
In some cases, a GP automated assistant may have access to publicly-available data such as documents and other information available on the Internet, as well as “user-controlled resources” under the control of a particular user served by the automated assistant. User-controlled resources may be associated with a “user account” of the user, and may be locally accessible from client device(s) operated by the user and/or remotely (e.g., in the so-called “cloud”). User-controlled resources may take various forms, such as a user's calendar, emails, text messages, reminders, shopping lists, search history, browsing history, photos, documents, sensor data (e.g., position coordinates), content of past human-to-computer dialogs, personal preferences, and so forth.